#!/bin/bash
#
# Este script nos permite obtener el nombre
# de la zona inversa que se pasa como argumento...
#
# Argumento: <ges|doc1|doc2|doc3>
#

# Comprobar argumentos...
if [ "" = "$1" ]
then
   echo "ERROR: Debes pasar como argumento la red a calcular"
   echo " getDnsZone.sh <ges|doc1|doc2|doc3>"
   exit 2
fi

 # Obtener la IP de Gestion:
 RedGestion=$(/sbin/ip a | grep eth0 | grep inet | head -1 | perl -ne 'print "$1" if($_=~m/inet\s+(\d[^\/]+)\.1\//);' )

 Byte1=$( echo "$RedGestion" | cut -d. -f1 | xargs printf "%s" )
 Byte2=$( echo "$RedGestion" | cut -d. -f2 | xargs printf "%s" )
 Byte3=$( echo "$RedGestion" | cut -d. -f3 | xargs printf "%s" )

 # En base al nombre de la red...
 if [ "ges" = "$1" ]
 then
    echo -n "$Byte3.$Byte2.$Byte1.in-addr.arpa"
    exit 0
 elif  [ "doc1" = "$1" ]
 then
    B3=$(( $Byte3 + 1 ))
 elif  [ "doc2" = "$1" ]
 then
    B3=$(( $Byte3 + 2 ))
 elif  [ "doc3" = "$1" ]
 then
    B3=$(( $Byte3 + 3 ))
 else
    echo "ERROR: No se conoce el argumento <$1>"
    exit 1
 fi

 # Inicializar los otros Bytes
 B2=$Byte2
 B1=$Byte1

 # Ver si hemos hemos llegao a 255 y nos hemos pasado
 if [ $B3 -gt 255 ]
 then
    B3=$(( $B3 % 256 ))
    B2=$(( $Byte2 + 1 ))
 fi

 if [ $B2 -gt 255 ]
 then
    B2=$(( $B2 % 256 ))
    B1=$(( $Byte1 + 1 ))
 fi

 echo -n "$B3.$B2.$B1.in-addr.arpa"
 
